Though RAID has been commoditized for quite some time now, it has been under constant threat due to the nature of evolution in disk drive technology. Being mechanical in design, disk drives have not made any noticeable improvements in performance and latency, whereas over the years their capacities have grown substantially. For example, disk capacities have been doubling almost every year and a half without any improvement in performance.
As a result of this imbalance between size and performance, the time to perform certain RAID related functions has steadily increased. For example, the time to rebuild an array of disks has grown almost astronomically. Similarly, the times required to check consistency, patrol read operations, and to initialize an array have also dramatically increased.
There are many drawbacks associated with long rebuilding times. For example, a RAID system may become very slow and appear less responsive to users during rebuilding. In addition, longer rebuild times drastically increases the overall risk of RAID systems to failure. While rebuilding the RAID system is in a vulnerable state; any disk failures or medium errors may hurt system availability and may result in irrevocable data losses.
Long RAID initialization times also have associated drawbacks. RAID initialization is used for RAID-5 and RAID-6 systems to improve I/O performance and is typically performed in the background making the RAID system available for I/Os while the initialization is taking place. However, such background processes degrade the performance of the RAID systems, which is exacerbated due to larger and larger disk drives.